package com.yy.main.app.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.github.pagehelper.PageInfo;
import com.yy.pojo.base.TKeyword;
import com.yy.pojo.base.TKeywordExample;
import com.yy.pojo.base.TMessage;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 关键字表，用户发送消息的时候，区分关键字做相应操作 服务类
 * </p>
 *
 * @author 杨阳
 * @since 2017-09-20
 */
public interface IKeywordService {

    /**
     * <p>
     * 根据关键字id查询出与之关联的消息列表
     * </p>
     *
     * @param page      当前页
     * @param limit     每页显示条数
     * @param keywordid 关键字id
     * @return {@link Page}<Message>
     * @author 杨阳
     * @since 2017年9月25日
     */
    PageInfo selectMessageByKeywordId(Integer page, Integer limit, String keywordid);

    /**
     * <p>
     * 根据关键字id查询出与之关联的消息预览
     * </p>
     *
     * @param keywordid 关键字id
     * @return {@link List}<Message>
     * @author 杨阳
     * @since 2017年9月25日
     */
    List<TMessage> selectMessageByKeywordId(String keywordid);

    /**
     * <p>
     * 增加或修改关键字
     * </p>
     *
     * @param key   关键字实体
     * @param msgid 与关键字关联的消息id字符串以逗号分隔
     * @return {@link Map}<String, Object>
     * @author 杨阳
     * @since 2017年9月22日
     */
    Map<String, Object> savekeyword(TKeyword key, String msgid);

    /**
     * <p>
     * 删除关键字
     * </p>
     *
     * @param id 关键字id
     * @return {@link Map}<String, Object>
     * @author 杨阳
     * @since 2017年9月22日
     */
    Map<String, Object> delkeyword(String id);

    /**
     * <p>
     * 通过id获取关键字
     * </p>
     *
     * @param id 关键字id
     * @return {@link TKeyword}
     */
    TKeyword selectById(String id);

}
